/** 格式化日期时间 **/
export function timeFormat(dateTime = null, fmt = "YY-MM-DD HH:mm:ss") {
  // 如果 dateTime 为null , 获取当前的时间
  if (!dateTime) dateTime = Number(new Date());
  // 如果时间戳的长度为10，就 *1000
  if (dateTime.toString().length === 10) dateTime *= 1000;
  let date = new Date(dateTime);
  let ret;
  let opt = {
    "Y+": date.getFullYear().toString(), // 年
    "M+": (date.getMonth() + 1).toString(), // 月
    "D+": date.getDate().toString(), // 日
    "H+": date.getHours().toString(), // 时 24小时
    "m+": date.getMinutes().toString(), // 分
    "s+": date.getSeconds().toString(), // 秒
    // 有其他格式化字符需求可以继续添加，必须转化成字符串
  };

  for (let k in opt) {
    ret = new RegExp(`${k}`).exec(fmt); //检索 fmt的k值，返回找到的值，并确定其位置
    if (ret) {
      // 用于replace方法 把 fmt对应的值替换成ret[1]，并且根据fmt值的长度判断是否需要前导零，padStart字符串前填充
      fmt = fmt.replace(ret[0], ret[0].length === 1 ? opt[k] : opt[k].padStart(ret[0].length, "0"));
    }
  }
  return fmt;
}